|
| 1: |
|
0(#) |
→ # |
| 2: |
|
x + # |
→ x |
| 3: |
|
# + x |
→ x |
| 4: |
|
0(x) + 0(y) |
→ 0(x + y) |
| 5: |
|
0(x) + 1(y) |
→ 1(x + y) |
| 6: |
|
1(x) + 0(y) |
→ 1(x + y) |
| 7: |
|
1(x) + 1(y) |
→ 0((x + y) + 1(#)) |
| 8: |
|
(x + y) + z |
→ x + (y + z) |
| 9: |
|
# - x |
→ # |
| 10: |
|
x - # |
→ x |
| 11: |
|
0(x) - 0(y) |
→ 0(x - y) |
| 12: |
|
0(x) - 1(y) |
→ 1((x - y) - 1(#)) |
| 13: |
|
1(x) - 0(y) |
→ 1(x - y) |
| 14: |
|
1(x) - 1(y) |
→ 0(x - y) |
| 15: |
|
not(true) |
→ false |
| 16: |
|
not(false) |
→ true |
| 17: |
|
if(true,x,y) |
→ x |
| 18: |
|
if(false,x,y) |
→ y |
| 19: |
|
eq(#,#) |
→ true |
| 20: |
|
eq(#,1(y)) |
→ false |
| 21: |
|
eq(1(x),#) |
→ false |
| 22: |
|
eq(#,0(y)) |
→ eq(#,y) |
| 23: |
|
eq(0(x),#) |
→ eq(x,#) |
| 24: |
|
eq(1(x),1(y)) |
→ eq(x,y) |
| 25: |
|
eq(0(x),1(y)) |
→ false |
| 26: |
|
eq(1(x),0(y)) |
→ false |
| 27: |
|
eq(0(x),0(y)) |
→ eq(x,y) |
| 28: |
|
ge(0(x),0(y)) |
→ ge(x,y) |
| 29: |
|
ge(0(x),1(y)) |
→ not(ge(y,x)) |
| 30: |
|
ge(1(x),0(y)) |
→ ge(x,y) |
| 31: |
|
ge(1(x),1(y)) |
→ ge(x,y) |
| 32: |
|
ge(x,#) |
→ true |
| 33: |
|
ge(#,0(x)) |
→ ge(#,x) |
| 34: |
|
ge(#,1(x)) |
→ false |
| 35: |
|
log(x) |
→ log'(x) - 1(#) |
| 36: |
|
log'(#) |
→ # |
| 37: |
|
log'(1(x)) |
→ log'(x) + 1(#) |
| 38: |
|
log'(0(x)) |
→ if(ge(x,1(#)),log'(x) + 1(#),#) |
| 39: |
|
# * x |
→ # |
| 40: |
|
0(x) * y |
→ 0(x * y) |
| 41: |
|
1(x) * y |
→ 0(x * y) + y |
| 42: |
|
(x * y) * z |
→ x * (y * z) |
| 43: |
|
x * (y + z) |
→ (x * y) + (x * z) |
| 44: |
|
app(nil,l) |
→ l |
| 45: |
|
app(cons(x,l1),l2) |
→ cons(x,app(l1,l2)) |
| 46: |
|
sum(nil) |
→ 0(#) |
| 47: |
|
sum(cons(x,l)) |
→ x + sum(l) |
| 48: |
|
sum(app(l1,l2)) |
→ sum(l1) + sum(l2) |
| 49: |
|
prod(nil) |
→ 1(#) |
| 50: |
|
prod(cons(x,l)) |
→ x * prod(l) |
| 51: |
|
prod(app(l1,l2)) |
→ prod(l1) * prod(l2) |
| 52: |
|
mem(x,nil) |
→ false |
| 53: |
|
mem(x,cons(y,l)) |
→ if(eq(x,y),true,mem(x,l)) |
| 54: |
|
inter(x,nil) |
→ nil |
| 55: |
|
inter(nil,x) |
→ nil |
| 56: |
|
inter(app(l1,l2),l3) |
→ app(inter(l1,l3),inter(l2,l3)) |
| 57: |
|
inter(l1,app(l2,l3)) |
→ app(inter(l1,l2),inter(l1,l3)) |
| 58: |
|
inter(cons(x,l1),l2) |
→ ifinter(mem(x,l2),x,l1,l2) |
| 59: |
|
inter(l1,cons(x,l2)) |
→ ifinter(mem(x,l1),x,l2,l1) |
| 60: |
|
ifinter(true,x,l1,l2) |
→ cons(x,inter(l1,l2)) |
| 61: |
|
ifinter(false,x,l1,l2) |
→ inter(l1,l2) |
|
There are 71 dependency pairs:
|
| 62: |
|
0(x) +# 0(y) |
→ 0#(x + y) |
| 63: |
|
0(x) +# 0(y) |
→ x +# y |
| 64: |
|
0(x) +# 1(y) |
→ x +# y |
| 65: |
|
1(x) +# 0(y) |
→ x +# y |
| 66: |
|
1(x) +# 1(y) |
→ 0#((x + y) + 1(#)) |
| 67: |
|
1(x) +# 1(y) |
→ (x + y) +# 1(#) |
| 68: |
|
1(x) +# 1(y) |
→ x +# y |
| 69: |
|
(x + y) +# z |
→ x +# (y + z) |
| 70: |
|
(x + y) +# z |
→ y +# z |
| 71: |
|
0(x) -# 0(y) |
→ 0#(x - y) |
| 72: |
|
0(x) -# 0(y) |
→ x -# y |
| 73: |
|
0(x) -# 1(y) |
→ (x - y) -# 1(#) |
| 74: |
|
0(x) -# 1(y) |
→ x -# y |
| 75: |
|
1(x) -# 0(y) |
→ x -# y |
| 76: |
|
1(x) -# 1(y) |
→ 0#(x - y) |
| 77: |
|
1(x) -# 1(y) |
→ x -# y |
| 78: |
|
EQ(#,0(y)) |
→ EQ(#,y) |
| 79: |
|
EQ(0(x),#) |
→ EQ(x,#) |
| 80: |
|
EQ(1(x),1(y)) |
→ EQ(x,y) |
| 81: |
|
EQ(0(x),0(y)) |
→ EQ(x,y) |
| 82: |
|
GE(0(x),0(y)) |
→ GE(x,y) |
| 83: |
|
GE(0(x),1(y)) |
→ NOT(ge(y,x)) |
| 84: |
|
GE(0(x),1(y)) |
→ GE(y,x) |
| 85: |
|
GE(1(x),0(y)) |
→ GE(x,y) |
| 86: |
|
GE(1(x),1(y)) |
→ GE(x,y) |
| 87: |
|
GE(#,0(x)) |
→ GE(#,x) |
| 88: |
|
LOG(x) |
→ log'(x) -# 1(#) |
| 89: |
|
LOG(x) |
→ LOG'(x) |
| 90: |
|
LOG'(1(x)) |
→ log'(x) +# 1(#) |
| 91: |
|
LOG'(1(x)) |
→ LOG'(x) |
| 92: |
|
LOG'(0(x)) |
→ IF(ge(x,1(#)),log'(x) + 1(#),#) |
| 93: |
|
LOG'(0(x)) |
→ GE(x,1(#)) |
| 94: |
|
LOG'(0(x)) |
→ log'(x) +# 1(#) |
| 95: |
|
LOG'(0(x)) |
→ LOG'(x) |
| 96: |
|
0(x) *# y |
→ 0#(x * y) |
| 97: |
|
0(x) *# y |
→ x *# y |
| 98: |
|
1(x) *# y |
→ 0(x * y) +# y |
| 99: |
|
1(x) *# y |
→ 0#(x * y) |
| 100: |
|
1(x) *# y |
→ x *# y |
| 101: |
|
(x * y) *# z |
→ x *# (y * z) |
| 102: |
|
(x * y) *# z |
→ y *# z |
| 103: |
|
x *# (y + z) |
→ (x * y) +# (x * z) |
| 104: |
|
x *# (y + z) |
→ x *# y |
| 105: |
|
x *# (y + z) |
→ x *# z |
| 106: |
|
APP(cons(x,l1),l2) |
→ APP(l1,l2) |
| 107: |
|
SUM(nil) |
→ 0#(#) |
| 108: |
|
SUM(cons(x,l)) |
→ x +# sum(l) |
| 109: |
|
SUM(cons(x,l)) |
→ SUM(l) |
| 110: |
|
SUM(app(l1,l2)) |
→ sum(l1) +# sum(l2) |
| 111: |
|
SUM(app(l1,l2)) |
→ SUM(l1) |
| 112: |
|
SUM(app(l1,l2)) |
→ SUM(l2) |
| 113: |
|
PROD(cons(x,l)) |
→ x *# prod(l) |
| 114: |
|
PROD(cons(x,l)) |
→ PROD(l) |
| 115: |
|
PROD(app(l1,l2)) |
→ prod(l1) *# prod(l2) |
| 116: |
|
PROD(app(l1,l2)) |
→ PROD(l1) |
| 117: |
|
PROD(app(l1,l2)) |
→ PROD(l2) |
| 118: |
|
MEM(x,cons(y,l)) |
→ IF(eq(x,y),true,mem(x,l)) |
| 119: |
|
MEM(x,cons(y,l)) |
→ EQ(x,y) |
| 120: |
|
MEM(x,cons(y,l)) |
→ MEM(x,l) |
| 121: |
|
INTER(app(l1,l2),l3) |
→ APP(inter(l1,l3),inter(l2,l3)) |
| 122: |
|
INTER(app(l1,l2),l3) |
→ INTER(l1,l3) |
| 123: |
|
INTER(app(l1,l2),l3) |
→ INTER(l2,l3) |
| 124: |
|
INTER(l1,app(l2,l3)) |
→ APP(inter(l1,l2),inter(l1,l3)) |
| 125: |
|
INTER(l1,app(l2,l3)) |
→ INTER(l1,l2) |
| 126: |
|
INTER(l1,app(l2,l3)) |
→ INTER(l1,l3) |
| 127: |
|
INTER(cons(x,l1),l2) |
→ IFINTER(mem(x,l2),x,l1,l2) |
| 128: |
|
INTER(cons(x,l1),l2) |
→ MEM(x,l2) |
| 129: |
|
INTER(l1,cons(x,l2)) |
→ IFINTER(mem(x,l1),x,l2,l1) |
| 130: |
|
INTER(l1,cons(x,l2)) |
→ MEM(x,l1) |
| 131: |
|
IFINTER(true,x,l1,l2) |
→ INTER(l1,l2) |
| 132: |
|
IFINTER(false,x,l1,l2) |
→ INTER(l1,l2) |
|
The approximated dependency graph contains 14 SCCs:
{106},
{78},
{79},
{80,81},
{87},
{63-65,67-70},
{97,100-102,104,105},
{114,116,117},
{72-75,77},
{82,84-86},
{120},
{122,123,125-127,129,131,132},
{91,95}
and {109,111,112}.